package buffbuildergui;

import java.util.ArrayList;

import java.util.List;

import javax.swing.JPanel;

public class Buff extends Entity{
    @SuppressWarnings("oracle.jdeveloper.java.nested-assignment")
    public Buff(String nam) {
        super();
        name = nam;
        Property p,q,r,s,t;
        ArrayList<Property> al,al0;
        ArrayList<String> temp = new ArrayList<>(),temp0,temp1;
        temp.add("\"PrioritizeNewBuffs\"");
        temp.add("\"PrioritizeOldBuffs\"");
        props.add(p=new Property("onReapplyDuplicateType",Property.FINITE,temp,this));
        temp = new ArrayList<>();
        temp.add("\"ForAllPlayers\"");
        temp.add("\"PerPlayer\"");
        props.add(p=new Property("buffStackingLimitType",Property.FINITE,temp,this));
            al0 = new ArrayList<>();
            p.plugs.add(al0);
            al0 = new ArrayList<>();
            p.plugs.add(al0);
        props.add(p=new Property("stackingLimit",Property.NONZERO,this));
        props.add(p=new Property("allowFirstSpawnerToStack",Property.BOOLEAN,this));
        temp = new ArrayList<>();
        temp.add("\"ExclusiveForAllPlayers\"");
        temp.add("\"ExclusivePerPlayer\"");
        props.add(p=new Property("buffExclusivityForAIType",Property.FINITE,temp,this));// TODO
            al0 = new ArrayList<>();
            p.plugs.add(al0);
            al0 = new ArrayList<>();
            p.plugs.add(al0);
        props.add(p=new Property("isInterruptable",Property.BOOLEAN,this));
        props.add(p=new Property("isChannelling",Property.BOOLEAN,this));
        
        props.add(p=new Property("numInstantActions",Property.COUNT,this));        
        
        props.add(p=new Property("numPeriodicActions",Property.COUNT,this));
        
        props.add(p=new Property("numOverTimeActions",Property.COUNT,this));
        
        props.add(p=new Property("numEntityModifiers",Property.COUNT,this));
        
        props.add(p=new Property("numEntityBoolModifiers",Property.COUNT,this));
        
        props.add(p=new Property("numFinishConditions",Property.COUNT,this));
        
        
    }
    
}
